home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
answrbok
/
shape.lha
/
shape
/
slist.h
< prev
Wrap
Text File
|
1993-08-08
|
769b
|
68 lines
ifndef SLIST_H
define SLIST_H
ypedef void* ent;
lass slink
friend class slist;
friend class slist_iterator;
slink *next;
ent e;
slink(ent a, slink *p)
{
e = a;
next = p;
}
;
lass slist
friend class slist_iterator;
slink *last;
ublic:
int insert(ent a);
int append(ent a);
ent get();
void clear();
slist()
{
last = 0;
}
slist(ent a)
{
last = new slink(a, 0);
last->next = last;
}
~slist()
{
clear();
}
;
lass slist_iterator
slink *ce;
slist *cs;
ublic:
slist_iterator(slist &s)
{
cs = &s;
ce = cs->last;
}
ent operator()()
{
ent ret = ce ? (ce = ce->next)->e : 0;
if (ce == cs->last) ce = 0;
return ret;
}
;
ypedef void (*PFC)(char*);
xtern PFC slist_handler;
xtern PFC set_slist_handler(PFC);
endif